package pe.com.bbva.modpre.ui;

import java.util.Date;
import java.util.List;
import java.util.Map;

import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;

import pe.com.bbva.modpre.dominio.Ans;
import pe.com.bbva.modpre.dominio.Equipo;
import pe.com.bbva.modpre.dominio.Producto;
import pe.com.bbva.modpre.dominio.Segmento;
import pe.com.bbva.modpre.exception.ValidacionException;
import pe.com.bbva.modpre.negocio.ConfiguracionService;
import pe.com.bbva.modpre.utileria.BeanValidar;
import pe.com.bbva.modpre.utileria.Constante;
import pe.com.bbva.modpre.utileria.Inject;
import pe.com.bbva.modpre.utileria.ModpreUtil;
import pe.com.bbva.modpre.utileria.TablaFiltro;

import com.vaadin.annotations.AutoGenerated;
import com.vaadin.data.Item;
import com.vaadin.data.util.BeanItemContainer;
import com.vaadin.data.util.IndexedContainer;
import com.vaadin.event.FieldEvents.TextChangeEvent;
import com.vaadin.event.FieldEvents.TextChangeListener;
import com.vaadin.terminal.ThemeResource;
import com.vaadin.terminal.gwt.server.WebApplicationContext;
import com.vaadin.terminal.gwt.server.WebBrowser;
import com.vaadin.ui.Alignment;
import com.vaadin.ui.Button;
import com.vaadin.ui.Button.ClickEvent;
import com.vaadin.ui.Button.ClickListener;
//import pe.com.bbva.modpre.dominio.Ans;
import com.vaadin.ui.ComboBox;
import com.vaadin.ui.CustomComponent;
import com.vaadin.ui.HorizontalLayout;
import com.vaadin.ui.Label;
import com.vaadin.ui.Panel;
import com.vaadin.ui.TextField;
import com.vaadin.ui.VerticalLayout;

@SuppressWarnings("serial")
public class AdministrarANSUI extends CustomComponent implements TextChangeListener, ClickListener {

	/*- VaadinEditorProperties={"grid":"RegularGrid,20","showGrid":true,"snapToGrid":true,"snapToObject":true,"movingGuides":false,"snappingDistance":10} */

	@AutoGenerated
	private VerticalLayout mainLayout;
	@AutoGenerated
	private HorizontalLayout mainLayoutContainer;
	@AutoGenerated
	private VerticalLayout lytANS;
	@AutoGenerated
	private HorizontalLayout lytBotonera;
	@AutoGenerated
	private Button btnEliminar;
	@AutoGenerated
	private Button btnGuardar;
	@AutoGenerated
	private VerticalLayout lytSemaforo;
	@AutoGenerated
	private HorizontalLayout lytRojo;
	@AutoGenerated
	private TextField txtPrioridad3;
	@AutoGenerated
	private Label lblRojo;
	@AutoGenerated
	private HorizontalLayout lytAmarillo;
	@AutoGenerated
	private TextField txtPrioridad2;
	@AutoGenerated
	private Label lblAmarillo;
	@AutoGenerated
	private HorizontalLayout lytVerde;
	@AutoGenerated
	private TextField txtPrioridad1;
	@AutoGenerated
	private Label lblVerde;
	@AutoGenerated
	private ComboBox cmbProducto;
	@AutoGenerated
	private ComboBox cmbSegmento;
	@AutoGenerated
	private ComboBox cmbEquipo;
	@AutoGenerated
	private HorizontalLayout lytTablaANS;
	@AutoGenerated
	private Panel pnlTablaANS;
	@AutoGenerated
	private VerticalLayout lytPanelTablaANS;
	@AutoGenerated
	private TablaFiltro tblANS;
	/**
	 * The constructor should first build the main layout, set the
	 * composition root and then do any custom initialization.
	 *
	 * The constructor will not be automatically regenerated by the
	 * visual editor.
	 */
	@Autowired
	ConfiguracionService configuracionService;
	
	IndexedContainer container = new IndexedContainer();
	TextField txtId = new TextField();
	Producto productoGuardar = new Producto();
	Equipo equipoGuardar = new Equipo();
	Segmento segmentoGuardar = new Segmento();
	List<Ans> listaAns=null;
	
	
	public AdministrarANSUI() {
		buildMainLayout();
		setCompositionRoot(mainLayout);
		Inject.inject(this);
		listaAns=configuracionService.buscarANS(null);
		postConstruct(listaAns);
	}
	
	@Override
	public void attach(){
		super.attach();
		WebApplicationContext context = ((WebApplicationContext) getApplication().getContext());
		WebBrowser webBrowser = context.getBrowser();
		tblANS.setWebBrowser(webBrowser);
		cabeceraTabla();
		
	}
	public void cabeceraTabla() {
		container.addContainerProperty("item", String.class,  null);
		container.addContainerProperty("id", String.class,  null);
		container.addContainerProperty("equipo", String.class, null);
		container.addContainerProperty("segmento", String.class, null);
		container.addContainerProperty("producto", String.class, null);
		container.addContainerProperty("prioridad1", String.class, null);
		container.addContainerProperty("prioridad2", String.class, null);
		container.addContainerProperty("prioridad3", String.class, null);
		container.addContainerProperty("fechaAltaMod", Date.class, null);
		container.addContainerProperty("id", String.class, null);
		tblANS.setContainerDataSource(container);
		
		tblANS.setVisibleColumns(new Object[]{"item", "equipo", "segmento","producto","prioridad1","prioridad2","prioridad3",
		"fechaAltaMod"});
		tblANS.setColumnHeader("item", "Item");
		tblANS.setColumnHeader("equipo", "Equipo");
		tblANS.setColumnHeader("segmento", "Segmento");
		tblANS.setColumnHeader("producto", "Producto");
		tblANS.setColumnHeader("prioridad1", "Prioridad1");
		tblANS.setColumnHeader("prioridad2", "Prioridad2");
		tblANS.setColumnHeader("prioridad3", "Prioridad3");
		tblANS.setColumnHeader("fechaAltaMod", "Fecha Alta M");
		
		tblANS.setColumnWidth("item", 20);
		tblANS.setColumnWidth("equipo", 65);
		tblANS.setColumnWidth("segmento", 75);
		tblANS.setColumnWidth("producto", 60);
		tblANS.setColumnWidth("prioridad1", 47);
		tblANS.setColumnWidth("prioridad2", 47);
		tblANS.setColumnWidth("prioridad3", 47);
		tblANS.setColumnWidth("fechaAltaMod", 85);
		tblANS.setSelectable(true);
		tblANS.setImmediate(true);
		tblANS.setNullSelectionAllowed(true);
		tblANS.setNullSelectionItemId(null);
		tblANS.setColumnReorderingAllowed(false);
		tblANS.setColumnCollapsingAllowed(false);
		tblANS.cargarTabla();
		
		Listener listener2 = new Listener() {
			
			@Override
			public void componentEvent(Event event) {
				
				if(tblANS.getValue() == null){
//					tblANS.setValue(null);
//					lblIdLista.setValue("");
//					btnGrabarLista.setCaption("Crear");
//					limpiar("lista");
//					pnlValorContenido.setVisible(false);
					txtId.setValue("");
					btnEliminar.setVisible(false);
					btnGuardar.setCaption("Crear");
					limpiar();
				}
				else
				{
					
					btnGuardar.setCaption("Actualizar");
					btnEliminar.setVisible(true);
					Item item = tblANS.getItem(tblANS.getValue());
					productoGuardar =listaAns.get(Integer.parseInt(item.getItemProperty("id").getValue().toString())).getProducto();
					cmbProducto.setValue(productoGuardar);
					
					equipoGuardar=listaAns.get(Integer.parseInt(item.getItemProperty("id").getValue().toString())).getEquipo();
					cmbEquipo.setValue(equipoGuardar);
					
					segmentoGuardar=listaAns.get(Integer.parseInt(item.getItemProperty("id").getValue().toString())).getSegmento();
					cmbSegmento.setValue(segmentoGuardar);
					txtPrioridad1.setValue(item.getItemProperty("prioridad1").getValue());
					txtPrioridad2.setValue(item.getItemProperty("prioridad2").getValue());
					txtPrioridad3.setValue(item.getItemProperty("prioridad3").getValue());
					
					txtId.setValue(item.getItemProperty("item").getValue());
//					lblIdLista.setValue(item.getItemProperty("id").getValue().toString());
//					txtCodigoLista.setValue(item.getItemProperty("codigo").getValue());
//					txtNombreLista.setValue(item.getItemProperty("nombre").getValue());
//					txtDescripcionLista.setValue(item.getItemProperty("descripcion").getValue());
//					cbmEstadoLista.select(item.getItemProperty("estado").getValue());
					
//					Lista lista = new Lista();
//					lista.setId((Long)item.getItemProperty("id").getValue());
//					lista.setCodigo((String)item.getItemProperty("codigo").getValue());
//					
//					cboLista.select(lista);
//					
//					Valor valor = new Valor();
//					valor.setLista(lista);
//					List<Valor> valores = configuracionService.buscarValores(valor);
//					cargarValores(valores);
//					
//					
					
				}
				
			}
			private void limpiar() {
				cmbProducto.setValue(null);
				cmbEquipo.setValue(null);
				cmbSegmento.setValue(null);
				txtPrioridad1.setValue("");
				txtPrioridad2.setValue("");
				txtPrioridad3.setValue("");
			}
		};
		tblANS.addListener(listener2);
		cargarDataTabla(listaAns);
	}

	public void cargarDataTabla(List<Ans> listaAns) {
		
		int con=1;
		for (Ans ans : listaAns) {
			Item item = container.addItem(con);
			item.getItemProperty("id").setValue(ans.getId());
			item.getItemProperty("item").setValue(con);
			item.getItemProperty("equipo").setValue(ans.getEquipo().getNombre());
			item.getItemProperty("segmento").setValue(ans.getSegmento()==null?null:ans.getSegmento().getNombre());
			item.getItemProperty("producto").setValue(ans.getProducto()==null?null:ans.getProducto().getNombre());
			item.getItemProperty("prioridad1").setValue(ans.getPrioridadVerde());
			item.getItemProperty("prioridad2").setValue(ans.getPrioridadAmarillo());
			item.getItemProperty("prioridad3").setValue(ans.getPrioridadRojo());
			item.getItemProperty("id").setValue(con-1);
	        
			item.getItemProperty("fechaAltaMod").setValue(ans.getCreacion());
			con++;
		}
	}

	public void postConstruct(List<Ans> listaAns) {
		txtPrioridad1.setStyleName("numerico");
		txtPrioridad2.setStyleName("numerico");
		txtPrioridad3.setStyleName("numerico");
		lytPanelTablaANS.setSizeUndefined();
		lytPanelTablaANS.setHeight("100%");
		
		btnGuardar.addListener(this);
		btnEliminar.addListener(this);
		lblVerde.setIcon(new ThemeResource("img/green.png"));
		lblAmarillo.setIcon(new ThemeResource("img/amber.png"));
		lblRojo.setIcon(new ThemeResource("img/red.png"));
		lblVerde.setValue("");
		lblAmarillo.setValue("");
		lblRojo.setValue("");
		cmbProducto.setInputPrompt("Producto");
		cmbEquipo.setInputPrompt("Equipo");
		cmbSegmento.setInputPrompt("Segmento");
		btnEliminar.setVisible(false);
		txtPrioridad1.setInputPrompt("Prioridad 1");
		txtPrioridad2.setInputPrompt("Prioridad 2");
		txtPrioridad3.setInputPrompt("Prioridad 3");
		
		List<Producto> listaProducto = 	configuracionService.obtenerProductos();
		BeanItemContainer<Producto> bicProductos = new BeanItemContainer<Producto>(Producto.class,  listaProducto);
		cmbProducto.setContainerDataSource(bicProductos);
		cmbProducto.setItemCaptionPropertyId("nombre");
		
		
		List<Segmento> listaSegmento = configuracionService.obtenerSegmentos();
		BeanItemContainer<Segmento> bicSegmentos = new BeanItemContainer<Segmento>(Segmento.class,  listaSegmento);
		cmbSegmento.setContainerDataSource(bicSegmentos);
		cmbSegmento.setItemCaptionPropertyId("nombre");
		
		List<Equipo> listaEquipo = configuracionService.buscarEquipos(null);
		BeanItemContainer<Equipo> bicRoles = new BeanItemContainer<Equipo>(Equipo.class,  listaEquipo);
		cmbEquipo.setContainerDataSource(bicRoles);
		cmbEquipo.setItemCaptionPropertyId("nombre");
		
	}

	@Override
	public void buttonClick(ClickEvent event) {
		if(event.getButton().equals(btnGuardar))
		{
			buttonGuardarANS();
		}
		if(event.getButton().equals(btnEliminar))
		{
			buttonEliminarANS();
		}
		
	}

	private void buttonEliminarANS() {
		configuracionService.eliminarANS(Long.parseLong(txtId.getValue().toString()));
		btnGuardar.setCaption("Crear");
		tblANS.removeAllItems();
		this.listaAns=configuracionService.buscarANS(null);
		cargarDataTabla(listaAns);
		cmbProducto.setValue(null);
		cmbEquipo.setValue(null);
		cmbSegmento.setValue(null);
		txtPrioridad1.setValue("");
		txtPrioridad2.setValue("");
		txtPrioridad3.setValue("");
		
	}

	private void buttonGuardarANS() {
		Ans ans = new Ans();
		if(!txtId.getValue().equals("")){
			ans.setId(Long.parseLong(txtId.getValue().toString()));
		}
	
		ans.setEquipo((Equipo)cmbEquipo.getValue());
		ans.setSegmento((Segmento)cmbSegmento.getValue());
		ans.setProducto((Producto)cmbProducto.getValue());
		
		if(StringUtils.isNotBlank((String)txtPrioridad3.getValue())){
			ans.setPrioridadRojo(Integer.parseInt(txtPrioridad3.getValue().toString()));
		}
		
		if(StringUtils.isNotBlank((String)txtPrioridad2.getValue())){
			ans.setPrioridadAmarillo(Integer.parseInt(txtPrioridad2.getValue().toString()));
		}
		
		if(StringUtils.isNotBlank((String)txtPrioridad1.getValue())){
			ans.setPrioridadVerde(Integer.parseInt(txtPrioridad1.getValue().toString()));
		}
		ModpreUtil.validar(getWindow(), ans, 
				new BeanValidar[]{
					new BeanValidar("equipo", new Object[]{"Equipo"}, cmbEquipo),
					new BeanValidar("prioridadVerde", new Object[]{"Prioridad 1"}, txtPrioridad1),
					new BeanValidar("prioridadAmarillo", new Object[]{"Prioridad 2"}, txtPrioridad2),
					new BeanValidar("prioridadRojo", new Object[]{"Prioridad 3"}, txtPrioridad3)
					});
		//Validacion de combinacion de Equipo Segmento Producto repetido
		/*if((String)txtId.getValue()==""){
			List<Ans> listaAns=configuracionService.buscarANS(null);
			for (Ans ans2 : listaAns) {
				if(ans2.getEquipo().equals((Equipo)cmbEquipo.getValue())){
					if(ans2.getSegmento().equals((Segmento)cmbSegmento.getValue())){
						if(ans2.getProducto().equals((Producto)cmbProducto.getValue())){
							throw new ValidacionException(Constante.CODIGO_MENSAJE.VALIDAR_REPETIDO,new Object[]{});
						}
					}
					
				}
			}
		}*/
		if(!(Integer.parseInt((String)txtPrioridad1.getValue())<Integer.parseInt((String)txtPrioridad2.getValue())&&Integer.parseInt((String)txtPrioridad2.getValue())<Integer.parseInt((String)txtPrioridad3.getValue()))){
			throw new ValidacionException(Constante.CODIGO_MENSAJE.VALIDAR_RANGOS,new Object[]{"Prioridad"});
			
		}
		
		configuracionService.guardarANS(ans);
		this.listaAns=configuracionService.buscarANS(null);
		tblANS.removeAllItems();
		cargarDataTabla(listaAns);
		cmbProducto.setValue(null);
		cmbEquipo.setValue(null);
		cmbSegmento.setValue(null);
		txtPrioridad1.setValue("");
		txtPrioridad2.setValue("");
		txtPrioridad3.setValue("");
	}

	@Override
	public void textChange(TextChangeEvent event) {
		
	}

	@AutoGenerated
	private VerticalLayout buildMainLayout() {
		// common part: create layout
		mainLayout = new VerticalLayout();
		mainLayout.setImmediate(false);
		mainLayout.setWidth("100%");
		mainLayout.setHeight("100%");
		mainLayout.setMargin(false);
		
		// top-level component properties
		setWidth("100.0%");
		setHeight("100.0%");
		
		// mainLayoutContainer
		mainLayoutContainer = buildMainLayoutContainer();
		mainLayout.addComponent(mainLayoutContainer);
		
		return mainLayout;
	}

	@AutoGenerated
	private HorizontalLayout buildMainLayoutContainer() {
		// common part: create layout
		mainLayoutContainer = new HorizontalLayout();
		mainLayoutContainer.setImmediate(false);
		mainLayoutContainer.setWidth("-1px");
		mainLayoutContainer.setHeight("-1px");
		mainLayoutContainer.setMargin(false);
		mainLayoutContainer.setSpacing(true);
		
		// lytTablaANS
		lytTablaANS = buildLytTablaANS();
		mainLayoutContainer.addComponent(lytTablaANS);
		
		// lytANS
		lytANS = buildLytANS();
		mainLayoutContainer.addComponent(lytANS);
		
		return mainLayoutContainer;
	}

	@AutoGenerated
	private HorizontalLayout buildLytTablaANS() {
		// common part: create layout
		lytTablaANS = new HorizontalLayout();
		lytTablaANS.setImmediate(false);
		lytTablaANS.setWidth("-1px");
		lytTablaANS.setHeight("-1px");
		lytTablaANS.setMargin(false);
		
		// pnlTablaANS
		pnlTablaANS = buildPnlTablaANS();
		lytTablaANS.addComponent(pnlTablaANS);
		
		return lytTablaANS;
	}

	@AutoGenerated
	private Panel buildPnlTablaANS() {
		// common part: create layout
		pnlTablaANS = new Panel();
		pnlTablaANS.setImmediate(false);
		pnlTablaANS.setWidth("580px");
		pnlTablaANS.setHeight("250px");
		
		// lytPanelTablaANS
		lytPanelTablaANS = buildLytPanelTablaANS();
		pnlTablaANS.setContent(lytPanelTablaANS);
		
		return pnlTablaANS;
	}

	@AutoGenerated
	private VerticalLayout buildLytPanelTablaANS() {
		// common part: create layout
		lytPanelTablaANS = new VerticalLayout();
		lytPanelTablaANS.setImmediate(false);
		lytPanelTablaANS.setWidth("100.0%");
		lytPanelTablaANS.setHeight("100.0%");
		lytPanelTablaANS.setMargin(false);
		
		// tblANS
		tblANS = new TablaFiltro(){
			@Override
			public void accion() {
			}
			@Override
			public void enter() {
				Equipo equipo = null;
				Producto producto = null;
				Segmento segmento = null;
				Ans ans = new Ans();
				Map<String,Object> map = tblANS.obtenerFiltros();
				if(StringUtils.isNotBlank((String)map.get("equipo"))){
					equipo = new Equipo();
					equipo.setNombre((String)map.get("equipo"));
				}
				if(StringUtils.isNotBlank((String)map.get("producto"))){
					producto = new Producto();
					producto.setNombre((String)map.get("producto"));
				}
				if(StringUtils.isNotBlank((String)map.get("segmento"))){
					segmento = new Segmento();
					segmento.setNombre((String)map.get("segmento"));
				}
				String validar="";
				validar=(String)map.get("prioridad1");
				if(StringUtils.isNotBlank(validar)){
					if(StringUtils.isNumeric(validar)){
						ans.setPrioridadVerde(Integer.parseInt(validar));
					}
				}
				validar=(String)map.get("prioridad2");
				if(StringUtils.isNotBlank(validar)){
					if(StringUtils.isNumeric(validar)){
						ans.setPrioridadAmarillo(Integer.parseInt(validar));
					}
				}
				validar=(String)map.get("prioridad3");
				if(StringUtils.isNotBlank(validar)){
					if(StringUtils.isNumeric(validar)){
						ans.setPrioridadRojo(Integer.parseInt(validar));
					}
				}
				validar=(String)map.get("item");
				if(StringUtils.isNotBlank(validar)){
					if(StringUtils.isNumeric(validar)){
						ans.setId(Long.parseLong(validar));
					}
				}
				if((map.get("fechaAltaMod_1")!=null)){
					ans.setCreacion((Date)map.get("fechaAltaMod_1"));
				}
				if((map.get("fechaAltaMod_2")!=null)){
					ans.setEdicion((Date)map.get("fechaAltaMod_2"));
				}
				
				ans.setEquipo(equipo);
				ans.setProducto(producto);
				ans.setSegmento(segmento);
				tblANS.removeAllItems();
				List<Ans> listaAnsFiltro =configuracionService.buscarANS(ans);
				cargarDataTabla(listaAnsFiltro);
			}
			
		};
		tblANS.setImmediate(false);
		tblANS.setWidth("100.0%");
		tblANS.setHeight("100.0%");
		lytPanelTablaANS.addComponent(tblANS);
		
		return lytPanelTablaANS;
	}

	@AutoGenerated
	private VerticalLayout buildLytANS() {
		// common part: create layout
		lytANS = new VerticalLayout();
		lytANS.setImmediate(false);
		lytANS.setWidth("-1px");
		lytANS.setHeight("-1px");
		lytANS.setMargin(true);
		lytANS.setSpacing(true);
		
		// cmbRol
		cmbEquipo = new ComboBox();
		cmbEquipo.setImmediate(false);
		cmbEquipo.setWidth("180px");
		cmbEquipo.setHeight("-1px");
		lytANS.addComponent(cmbEquipo);
		lytANS.setComponentAlignment(cmbEquipo, new Alignment(20));
		
		// cmbSegmento
		cmbSegmento = new ComboBox();
		cmbSegmento.setImmediate(false);
		cmbSegmento.setWidth("180px");
		cmbSegmento.setHeight("-1px");
		lytANS.addComponent(cmbSegmento);
		lytANS.setComponentAlignment(cmbSegmento, new Alignment(20));
		
		// cmbProducto
		cmbProducto = new ComboBox();
		cmbProducto.setImmediate(false);
		cmbProducto.setWidth("180px");
		cmbProducto.setHeight("-1px");
		lytANS.addComponent(cmbProducto);
		lytANS.setComponentAlignment(cmbProducto, new Alignment(20));
		
		// lytSemaforo
		lytSemaforo = buildLytSemaforo();
		lytANS.addComponent(lytSemaforo);
		lytANS.setComponentAlignment(lytSemaforo, new Alignment(20));
		
		// lytBotonera
		lytBotonera = buildLytBotonera();
		lytANS.addComponent(lytBotonera);
		
		return lytANS;
	}

	@AutoGenerated
	private VerticalLayout buildLytSemaforo() {
		// common part: create layout
		lytSemaforo = new VerticalLayout();
		lytSemaforo.setImmediate(false);
		lytSemaforo.setWidth("-1px");
		lytSemaforo.setHeight("-1px");
		lytSemaforo.setMargin(false);
		lytSemaforo.setSpacing(true);
		
		// lytVerde
		lytVerde = buildLytVerde();
		lytSemaforo.addComponent(lytVerde);
		
		// lytAmarillo
		lytAmarillo = buildLytAmarillo();
		lytSemaforo.addComponent(lytAmarillo);
		
		// lytRojo
		lytRojo = buildLytRojo();
		lytSemaforo.addComponent(lytRojo);
		
		return lytSemaforo;
	}

	@AutoGenerated
	private HorizontalLayout buildLytVerde() {
		// common part: create layout
		lytVerde = new HorizontalLayout();
		lytVerde.setImmediate(false);
		lytVerde.setWidth("-1px");
		lytVerde.setHeight("-1px");
		lytVerde.setMargin(false);
		lytVerde.setSpacing(true);
		
		// lblVerde
		lblVerde = new Label();
		lblVerde.setImmediate(false);
		lblVerde.setWidth("20px");
		lblVerde.setHeight("-1px");
		lblVerde.setValue("Label");
		lytVerde.addComponent(lblVerde);
		
		// txtPrioridad1
		txtPrioridad1 = new TextField();
		txtPrioridad1.setImmediate(false);
		txtPrioridad1.setWidth("155px");
		txtPrioridad1.setHeight("-1px");
		lytVerde.addComponent(txtPrioridad1);
		
		return lytVerde;
	}

	@AutoGenerated
	private HorizontalLayout buildLytAmarillo() {
		// common part: create layout
		lytAmarillo = new HorizontalLayout();
		lytAmarillo.setImmediate(false);
		lytAmarillo.setWidth("-1px");
		lytAmarillo.setHeight("-1px");
		lytAmarillo.setMargin(false);
		lytAmarillo.setSpacing(true);
		
		// lblAmarillo
		lblAmarillo = new Label();
		lblAmarillo.setImmediate(false);
		lblAmarillo.setWidth("20px");
		lblAmarillo.setHeight("-1px");
		lblAmarillo.setValue("Label");
		lytAmarillo.addComponent(lblAmarillo);
		
		// txtPrioridad2
		txtPrioridad2 = new TextField();
		txtPrioridad2.setImmediate(false);
		txtPrioridad2.setWidth("155px");
		txtPrioridad2.setHeight("-1px");
		lytAmarillo.addComponent(txtPrioridad2);
		
		return lytAmarillo;
	}

	@AutoGenerated
	private HorizontalLayout buildLytRojo() {
		// common part: create layout
		lytRojo = new HorizontalLayout();
		lytRojo.setImmediate(false);
		lytRojo.setWidth("-1px");
		lytRojo.setHeight("-1px");
		lytRojo.setMargin(false);
		lytRojo.setSpacing(true);
		
		// lblRojo
		lblRojo = new Label();
		lblRojo.setImmediate(false);
		lblRojo.setWidth("20px");
		lblRojo.setHeight("-1px");
		lblRojo.setValue("Label");
		lytRojo.addComponent(lblRojo);
		
		// txtPrioridad3
		txtPrioridad3 = new TextField();
		txtPrioridad3.setImmediate(false);
		txtPrioridad3.setWidth("155px");
		txtPrioridad3.setHeight("-1px");
		lytRojo.addComponent(txtPrioridad3);
		
		return lytRojo;
	}

	@AutoGenerated
	private HorizontalLayout buildLytBotonera() {
		// common part: create layout
		lytBotonera = new HorizontalLayout();
		lytBotonera.setImmediate(false);
		lytBotonera.setWidth("-1px");
		lytBotonera.setHeight("-1px");
		lytBotonera.setMargin(false);
		lytBotonera.setSpacing(true);
		
		// btnGuardar
		btnGuardar = new Button();
		btnGuardar.setCaption("Crear");
		btnGuardar.setImmediate(true);
		btnGuardar.setWidth("-1px");
		btnGuardar.setHeight("-1px");
		lytBotonera.addComponent(btnGuardar);
		
		// btnEliminar
		btnEliminar = new Button();
		btnEliminar.setCaption("Eliminar");
		btnEliminar.setImmediate(true);
		btnEliminar.setWidth("-1px");
		btnEliminar.setHeight("-1px");
		lytBotonera.addComponent(btnEliminar);
		
		return lytBotonera;
	}

}
